package ma.ensao.egicom.core.services.interfaces;

import java.util.*;

import ma.ensao.egicom.core.dto.CaddieLineDto;
import ma.ensao.egicom.core.dto.ProductDto;

public interface CaddieService {
    /**
     * Calcule la somme des prix des produits dans le panier
     * @param produitList liste des produits
     * @return la somme des prix
     */
    float calculatePricesSum(  ArrayList< CaddieLineDto> productList );

    /**
     * ajoute un produit au panier
     * @param produitList liste des lignes de la cadies
     * @param produit est le produit à ajouter
     * @return la nouvelle cadie
     */
    public ArrayList< CaddieLineDto> removeProduct(ArrayList< CaddieLineDto> productList, Long idProduit);

    /**
     * retire un produit du panier
     * @param produitList liste des lignes de la cadies
     * @param produit est le produit à supprimer
     * @return la nouvelle cadie
     */
    public ArrayList< CaddieLineDto> addProduct(ArrayList< CaddieLineDto> productList, Long idProduit);

    /**
     * vérifie la disponibilité d'un produit.
     * @param le produit à vérifier la disponibilité
     */
    public boolean verificateDispoProduct(Long idProduit);

}

